package com.cykj.user.service;

import com.cykj.common.dto.ResponseDTO;
import com.cykj.common.entity.EducationBackgroundDO;
import com.cykj.common.entity.OnlineResumeDO;
import com.cykj.common.entity.ProjectHistoryDO;
import com.cykj.common.entity.WorkHistoryDO;
import com.cykj.user.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @BelongsProject: smart_recruit_backend
 * @BelongsPackage: com.cykj.user.service.impl
 * @Author: 浮行
 * @CreateTime: 2025-08-21 10:38
 * @Description: TODO
 * @Version: 1.0
 */
public interface IOnlineResumeService {
    /**
     * @Description: 新增工作经历
     * @Param: [workHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO insertWork(WorkHistoryVO workHistoryVO);
    /**
     * @Description: 新增项目经历
     * @Param: [projectHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO insertProjectHistory(ProjectHistoryVO projectHistoryVO);
    /**
     * @Description: 新增教育背景
     * @Param: [educationBackgroundVO]
     * @return: java.lang.Integer
     */
    ResponseDTO insertEducationBackground(EducationBackgroundVO educationBackgroundVO);
    /**
     * @Description: 修改教育背景
     * @Param: [educationBackgroundVO]
     * @return: java.lang.Integer
     */
    ResponseDTO deleteEducationBackground(Integer educationBackgroundId);
    /**
     * @Description: 删除项目经历
     * @Param: [projectHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO deleteProjectHistory(Integer projectHistoryId);
    /**
     * @Description: 删除工作经历
     * @Param: [workHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO deleteWorkHistory(Integer workHistoryId);
    /**
     * @Description: 修改工作经历
     * @Param: [workHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateWorkHistory(List<WorkHistoryVO> workHistoryVO);
    /**
     * @Description: 修改教育背景信息
     * @Param: [educationBackgroundVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateEducationBackground(List<EducationBackgroundVO> educationBackgroundVOS);
    /**
     * @Description: 修改项目经历
     * @Param: [projectHistoryVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateProjectHistory(List<ProjectHistoryVO> projectHistoryVO);
    /**
     * @Description: 查询工作经历
     * @Param: [workHistoryVO]
     * @return: java.util.List<com.cykj.common.entity.WorkHistoryDO>
     */
    ResponseDTO selectWorkHistory(WorkHistoryVO workHistoryVO);
    /**
     * @Description: 查询项目经历
     * @Param: [projectHistoryVO]
     * @return: java.util.List<com.cykj.common.entity.ProjectHistoryDO>
     */
    ResponseDTO selectProjectHistory(ProjectHistoryVO projectHistoryVO);
    /**
     * @Description: 查询教育背景信息
     * @Param: [educationBackgroundVO]
     * @return: java.util.List<com.cykj.common.entity.EducationBackgroundDO>
     */
    ResponseDTO selectEducationBackground(EducationBackgroundVO educationBackgroundVO);
    /**
     * @Description: 修改资格证书
     * @Param: [onlineResumeVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateCertificates(OnlineResumeVO onlineResumeVO);
    /**
     * @Description: 查询用户的个人优势和资格证书
     * @Param: [onlineResumeVO]
     * @return: com.cykj.common.entity.OnlineResumeDO
     */
    ResponseDTO selectUserAdvantageAndCertificate(OnlineResumeVO onlineResumeVO);
    /**
     * @Description: 修改用户个人优势
     * @Param: [onlineResumeVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateAdvantage( OnlineResumeVO onlineResumeVO);
    /**
     * @Description: 修改用户的求职状态
     * @Param: []
     * @return: java.lang.Integer
     */
    ResponseDTO updateJobStatus(UserVO userVO);
}
